===============================================================================
== Derpy: Mystery of the Apple Thief                                         ==
===============================================================================

Fluttershy has gone missing and a bad moon has risen. In the face of apathy and
inaction, one pony stands alone. One pony can save the day against impossible
odds.

That's you.

=================
== How to Play ==
=================
Start the executable and sit through the shoddy intro sequence. Push Z on the
title screen to select options, or use the arrow keys to change options.

In the options menu, you can toggle fullscreen on or off and change the volume.

If you select "Skip Tutorial" on the title screen, you will be taken directly
to the stage select. The stage select allows you to replay any level you've
reached previously, just jump into the matching bubble.

The tutorial should teach you what you need to know. Here are the controls
anyway, since nobody reads the readme.

Arrow Keys -> Move
Z -> Jump
X -> Fire an envelope bullet

That's about it.

== Other Keys ==
F11 will toggle fullscreen when the game is running.
F9 will toggle double-buffering when the game is running. If you notice screen
   tearing, you may want to try toggling this on or off.
   
===================
== Gameplay Help ==
===================
In case you slept through the tutorial:

You can stomp 3 enemies in a row without touching the ground to get an envelope
which can take down enemies when fired at them. You can have up to 5 at once.

Bosses can only be injured by envelope bullets, but you can stomp them to stun
them and get ammo.

Don't fall off the bottom of the level.

You can flap as long as the meter in the bottom left is not red. It will
recharge slowly when airborne and very quickly on the ground.

Stomping an enemy and pressing jump at the same time will catapault you fairly
high into the air.

You can take 5 hits before you drop like a grey, winged stone. You cannot recover
health in mid stage, but you get fully restored between stages.

   
====================
== Using a Joypad ==
====================
The program should have the capability to detect most drivers for joysticks. 
You can enable joysticks by rebinding the controls to them in the configuration.

1. Open the Configuration.lua (it's a text file, open it in notepad)
2. Locate this line: "local iControllerType = ciUseKeyboard"
3. Change 'ciUseKeyboard' to one of
   > ciUseLogitech
   > ciUsePlaystation3
   > ciUseXbox360Controller
   > ciUseSNES

4. If the controller type you have is not one of these types, try using the
   logitech configuration, as that is the 'standard' joypad layout for PCs.
   
============================
== Rebinding the Controls ==
============================
Controls can be rebound by editing the CM_Rebind() commands in 
Configuration.lua. You can bind up to 2 keys to a control.

If you're using a joypad, make sure you're editing those rebinds as opposed to 
the keyboard rebinds.

A full list of available rebinds on the keyboard is:
KEY_A, KEY_B, KEY_C, .., KEY_Z
KEY_0, KEY_1, KEY_2, .., KEY_9
KEY_PAD_0, KEY_PAD_1, .. KEY_PAD_9
KEY_F1, KEY_F2, .., KEY_F12
KEY_ESCAPE
KEY_BACKSPACE
KEY_TAB
KEY_ENTER
KEY_BACKSLASH
KEY_SPACE
KEY_INSERT
KEY_DELETE
KEY_HOME
KEY_END
KEY_PGUP
KEY_PGDN
KEY_LEFT     <- this is the left arrow key
KEY_RIGHT    <- this is the right arrow key
KEY_UP       <- this is the up arrow key
KEY_DOWN     <- this is the down arrow key
KEY_PAD_/
KEY_PAD_*
KEY_PAD_-
KEY_PAD_+
KEY_PAD_DELETE
KEY_PAD_ENTER
KEY_PRINTSCREEN
KEY_PAUSE
KEY_PAD_=
KEY_LSHIFT
KEY_RSHIFT
KEY_LCTRL
KEY_RCTRL
KEY_ALT
KEY_ALTGR
KEY_LWIN
KEY_RWIN
KEY_MENU
KEY_SCROLLLOCK
KEY_NUMLOCK
KEY_CAPSLOCK

You can also rebind commands to the mouse
MOS_0 <- Usually left mouse click
MOS_1 <- Usually right mouse click
MOS_2 <- Usually clicking the mouse wheel

Joystick button rebinding is done with
JOYBTN0, JOYBTN1, JOYBTN2, .., JOYBTN99

Exactly which joystick button is which depends on your drivers. 
You may need to experiment.

Binding controls to the joy sticks is done in the following fashion:
JOYSTK_X_Y_Z
Where X is the stick number (most joysticks have the left dpad as 0)
Where Y is the axis number (1 is often vertical, 0 is horizontal)
And Z is N or P. On many sticks, left or up is negative, while right and down are positive.

Again, you will need to experiment to figure out which axis and direction your joypad uses.

============================
== Configuring the Engine ==
============================
It is highly unlikely you will need to change anything in the engine to get it to run. If need be,
edit the options in Configuration.lua. The descriptions above the options should tell you what they
do. Most of the options should be 'true' or 'false'. The rest should be an integer.

==============
== Problems ==
==============
If you are absolutely unable to get the game to run, please send an email to:
saltyjustice AT starlightstudios DOT org
